from celery import Celery
import time

# 第一个参数是当前模块的名字，配置好celery的backend和broker
app = Celery('tasks', broker="redis://localhost:6379/0", backend="redis://localhost:6379/0")

"""
============================================
这个文件启动之后会监听下面的两个函数，
可以在其它地方调用这两个函数，
并传入相关的参数

这些函数会在异步的任务队列中处理运行，
当运行完成后会按照函数定义的内容产生后续动作
（比如给出一个返回值或者调用一个其他函数什么的）
============================================
"""


# 我们定义一个简单的任务，休眠100秒后，打印一句"hello, {{name}}"
@app.task
def add(x, y):
    x = int(x)
    y = int(y)
    time.sleep(30)
    return x + y


# 我们又定义了一个简单的任务，打印并返回传入进来的job_name和job_cron
@app.task
def job_info(job_name, job_cron):
    job_name = str(job_name)
    job_cron = str(job_cron)
    print("job_name:{}   job_cron:{}".format(job_name, job_cron))
    return "job_name:{}   job_cron:{}".format(job_name, job_cron)
